package com.bos.domain;

import com.bos.util.enums.JenjangSekolah;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * Created by IntelliJ IDEA.
 * User: Latief
 * Date: 3/12/11
 * Time: 2:48 PM
 * To change this template use File | Settings | File Templates.
 */
@Entity
@Table(name = "alokasi_per_siswa")
public class AlokasiPerSiswa implements DomainObject {
    @Id
    @GeneratedValue
    private long id;

    @NotNull
    private JenjangSekolah jenjangSekolah;

    @NotNull
    private int alokasi;

    public AlokasiPerSiswa() {
    }

    public AlokasiPerSiswa(long id, int alokasi, JenjangSekolah jenjangSekolah) {
        this.id = id;
        this.alokasi = alokasi;
        this.jenjangSekolah = jenjangSekolah;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public int getAlokasi() {
        return alokasi;
    }

    public void setAlokasi(int alokasi) {
        this.alokasi = alokasi;
    }

    public JenjangSekolah getJenjangSekolah() {
        return jenjangSekolah;
    }

    public void setJenjangSekolah(JenjangSekolah jenjangSekolah) {
        this.jenjangSekolah = jenjangSekolah;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof AlokasiPerSiswa)) return false;

        AlokasiPerSiswa that = (AlokasiPerSiswa) o;

        if (alokasi != that.alokasi) return false;
        if (id != that.id) return false;
        if (jenjangSekolah != that.jenjangSekolah) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = (int) (id ^ (id >>> 32));
        result = 31 * result + (jenjangSekolah != null ? jenjangSekolah.hashCode() : 0);
        result = 31 * result + alokasi;
        return result;
    }

    @Override
    public String toString() {
        return "AlokasiPerSiswa{" +
                "id=" + id +
                ", jenjangSekolah=" + jenjangSekolah +
                ", alokasi=" + alokasi +
                '}';
    }
}
